#pragma once

#include <gtk.h>
#include "../Utils/Singleton.h"

class Popup
{
	friend class PopupManager;

	GtkWidget*			m_descriptionLabel;
	GtkWidget*			m_popupIcon;

	Popup();

public:
	Popup(const gchar *popupIconPath, const gchar *descriptionText);
	~Popup();
};

#define POPUP_MANAGER PopupManager::GetInstance()

class PopupManager : public Singleton <PopupManager>
{
	friend class Singleton <PopupManager>;

	Popup*		m_popup;
	GtkWidget*	m_window;
	GdkPixbuf*	m_background;
	GtkWidget*	m_hbox;

protected:
	PopupManager();
	~PopupManager();

public:
	void	showPopup(Popup* popup);
};